home *** CD-ROM | disk | FTP | other *** search
/ Aminet 39 / Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso / Aminet / biz / swood / FW_AllInOne.lha / Makros / Suchen&Ersetzen.long < prev    next >
Text File  |  1998-01-17  |  21KB  |  620 lines

  1. /*********************************************
  2.  * Suchen und Ersetzen von Codes für FW3+    *
  3.  * $VER: 2.1  © Heiko Schröder (06.01.98)    *
  4.  *********************************************/
  5.  
  6. /* NEU: nur spaces können nicht gesucht werden 
  7.         Codes von 1 - 255
  8.         Ersetzungen von allem möglichen und nichts*/
  9.         
  10. Parse ARG FW
  11.  
  12. if ~show('L',"rexxreqtools.library") then
  13.    if ~addlib('rexxreqtools.library',0,-30,0) then do
  14.       'ShowMessage 1 1 "Fehler...." "Benötige Libs:rexxreqtools.library" " A B B R U C H ! !" "Okay" "" ""'
  15.       exit
  16.    end
  17. IF ~show('L','tritonrexx.library') then
  18.    IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN DO
  19.       'ShowMessage 2 1 "Fehler...." "Benötige Libs:tritonrexx.library" "" "Abbruch" "" ""'
  20.       exit
  21.    END
  22.  
  23. R='0A'X
  24. SIGNAL ON syntax
  25.  
  26. If open('Hilfe',"S:FW_Paket.prefs","R") then do
  27.    HilfeVerz=readln('Hilfe')
  28.    Call Close('Hilfe')
  29. End
  30. else HilfeVerz=''
  31.  
  32. If FW='' then do
  33.    Address='FinalW'
  34.    Options results
  35.  
  36.    STATUS PORTNAME
  37.    FW = result
  38. End
  39.    Address(FW)
  40.  
  41. FWP="FinalWriterPubScreen"
  42.  
  43. lista.0=2
  44. lista.1='   Text   '
  45. lista.2='   Code   '
  46.  
  47. liste.0=3
  48. liste.1='   ----   '
  49. liste.2='   Text   '
  50. liste.3='   Code   '
  51.  
  52. listb.0=3
  53. listb.1=' ------------- '
  54. listb.2='  Schriftart'
  55. listb.3='Schriftschnitt'
  56.  
  57. Wort='';dis=1;fo='';spez=0
  58. Texttool
  59. Status PARAPOS
  60. Parse Var result bzeile bspalte ezeile espalte
  61. if ezeile~='' then do
  62.    extract; Wort=result
  63.    pos = lastpos(R,Wort)
  64.    if pos~=0 then Wort=Left(Wort,pos)
  65.    dis=0
  66.    Status FontName
  67.    fo=result
  68.    spez=1
  69. end
  70. dir=''
  71.  
  72. apptags = 'TRCA_Name     SuchenErsetzen',
  73.           'TRCA_LongName "Suchen und Ersetzen"',
  74.           'TRCA_Info     "für FinalWriter"',
  75.           'TRCA_Version  "2.1 registered"',
  76.           'TRCA_Release  "3"',
  77.           'TRCA_Date     "06.01.98"',
  78.           'TAG_END'
  79.  
  80. /*
  81. ** Fenster öffnen
  82. */
  83.  
  84. windowtags = WindowID(1),
  85.              WindowPosition('TRWP_CENTERDISPLAY'),
  86.              PubScreenName(FWP),
  87.              WindowTitle("Suchen & Ersetzen"),
  88.              WindowFlags('TRWF_NOSIZEGADGET|TRWF_NOMINTEXTWIDTH'),
  89.              BeginMenu('Projekt'),
  90.                 MenuItem('Q_Verlassen',104),
  91.              BeginMenu('?'),
  92.                 MenuItem('?_Info',101),
  93.                 MenuItem('H_Hilfe',103),
  94.              'HorizGroupAC',
  95.                 'SpaceS',
  96.                 'VertGroupAC',
  97.                    'SpaceS',
  98.                    NamedFrameBox('Suchen nach'),
  99.                    'HorizGroupAC',
  100.                       'SpaceS',
  101.                       'VertGroupAC',
  102.                          'SpaceS',
  103.                          TextID('A_rt',10),
  104.                          'SpaceS',
  105.                          CycleGadget('lista',0,10) 'TRAT_Flags TRCY_RIGHTLABELS TRAT_Value 0',
  106.                          StringGadget(Wort,11),
  107.                          'SpaceS',
  108.                       'EndGroup',
  109.                       'SpaceS',
  110.                       'VertGroupAC',
  111.                          'SpaceS',
  112.                          TextID('S_pezifikation',12),
  113.                          'SpaceS',
  114.                          CycleGadget('listb',spez,12) 'TRAT_Flags TRCY_RIGHTLABELS',
  115.                          'HorizGroupAC',
  116.                             GetEntryButton(13) TRAT_DISABLED dis,
  117.                             StringGadget(fo,14) TRAT_DISABLED dis,
  118.                          'EndGroup',
  119.                          'SpaceS',
  120.                       'EndGroup',
  121.                       'SpaceS',
  122.                    'EndGroup',
  123.                    'Space',
  124.                    NamedFrameBox('Ersetzen durch'),
  125.                    'HorizGroupAC',
  126.                       'SpaceS',
  127.                       'VertGroupAC',
  128.                          'SpaceS',
  129.                          TextID('Ar_t',20),
  130.                          'SpaceS',
  131.                          CycleGadget('liste',0,20) 'TRAT_Flags TRCY_RIGHTLABELS TRAT_Value 0',
  132.                          StringGadget('',21)  'TRAT_DISABLED 1',
  133.                          'SpaceS',
  134.                       'EndGroup',
  135.                       'SpaceS',
  136.                       'VertGroupAC',
  137.                          'SpaceS',
  138.                          TextID('Spe_zifikation',22),
  139.                          'SpaceS',
  140.                          CycleGadget('listb',0,22) 'TRAT_Flags TRCY_RIGHTLABELS TRAT_Value 0',
  141.                          'HorizGroupAC',
  142.                             GetEntryButton(23) 'TRAT_DISABLED 1',
  143.                             StringGadget('',24) 'TRAT_DISABLED 1',
  144.                          'EndGroup',
  145.                          'SpaceS',
  146.                       'EndGroup',
  147.                       'SpaceS',
  148.                    'EndGroup',
  149.                    'Space',
  150.                    'HorizGroupEC',
  151.                       Button('_Suchen',1),
  152.                       'SpaceS',
  153.                       Button('_Ersetzen',2) 'TRAT_DISABLED 1',
  154.                       'SpaceS',
  155.                       Button('_Alle',3) 'TRAT_DISABLED 1',
  156.                    'EndGroup',
  157.                    'SpaceS',
  158.                 'EndGroup',
  159.                 'SpaceS',
  160.              'EndGroup',
  161.           'EndProject'
  162.  
  163. app = TR_CREATEAPP('TRCA_Name SuchenErsetzen')
  164.  
  165. /*
  166. ** Auf Schließsymbol warten
  167. */
  168.  
  169. IF app ~= '00000000'x THEN DO
  170.    window1 = TR_OPENPROJECT(app,windowtags)
  171.    IF window1 ~= '00000000'x THEN DO
  172.       ende = 0
  173.  
  174.       DO WHILE ~ende
  175.          CALL TR_WAIT(app,'')
  176.  
  177.          DO WHILE TR_HANDLEMSG(app,'event')
  178.             IF event.trm_class = 'TRMS_NEWVALUE' THEN DO
  179.                SELECT
  180.                   WHEN event.trm_id = 10 THEN do
  181.                      what = event.trm_data+1
  182.                      such=TR_GETATTRIBUTE(window1,11,'TROB_String')
  183.                      if what=1 then do
  184.                         void=SetClip("Cod1",such)
  185.                         Cod2=GetClip("Cod2")
  186.                         CALL TR_SETATTRIBUTE(window1,11,'TROB_String',Cod2)
  187.                      end
  188.                      if what=2 then do
  189.                         void=SetClip("Cod2",such)
  190.                         Cod1=GetClip("Cod1")
  191.                         CALL TR_SETATTRIBUTE(window1,11,'TROB_String',Cod1)
  192.                      end
  193.                      if what=3 then CALL TR_SETATTRIBUTE(window1,21,'TROB_String','')
  194.                   End
  195.  
  196.                   WHEN event.trm_id = 12 THEN do
  197.                      what = event.trm_data+1
  198.                      such = TR_GETATTRIBUTE(window1,14,'TROB_String')
  199.                      if what=1 then do
  200.                         void=SetClip("Spez2",such)
  201.                         CALL TR_SETATTRIBUTE(window1,13,'TRAT_Disabled',1)
  202.                         CALL TR_SETATTRIBUTE(window1,14,'TROB_String','')
  203.                         CALL TR_SETATTRIBUTE(window1,14,'TRAT_Disabled',1)
  204.                      end
  205.                      if what=2 then do
  206.                         Spez1=GetClip("Spez1")
  207.                         CALL TR_SETATTRIBUTE(window1,13,'TRAT_Disabled',0)
  208.                         CALL TR_SETATTRIBUTE(window1,14,'TROB_String',Spez1)
  209.                         CALL TR_SETATTRIBUTE(window1,14,'TRAT_Disabled',0)
  210.                      end
  211.                      if what=3 then do
  212.                         void=SetClip("Spez1",such)
  213.                         Spez2=GetClip("Spez2")
  214.                         CALL TR_SETATTRIBUTE(window1,14,'TROB_String',Spez2)
  215.                      end
  216.                   End
  217.  
  218.                   WHEN event.trm_id = 20 THEN do
  219.                      what = event.trm_data+1
  220.                      such=TR_GETATTRIBUTE(window1,21,'TROB_String')
  221.                      if what=1 then do
  222.                         void=SetClip("Cod4",such)
  223.                         CALL TR_SETATTRIBUTE(window1,21,'TROB_String','')
  224.                         CALL TR_SETATTRIBUTE(window1,21,'TRAT_Disabled',1)
  225.                         CALL TR_SETATTRIBUTE(window1,2,'TRAT_Disabled',1)
  226.                         CALL TR_SETATTRIBUTE(window1,3,'TRAT_Disabled',1)
  227.                      end
  228.                      if what=2 then do
  229.                         Cod3=GetClip("Cod3")
  230.                         CALL TR_SETATTRIBUTE(window1,21,'TROB_String',Cod3)
  231.                         CALL TR_SETATTRIBUTE(window1,21,'TRAT_Disabled',0)
  232.                         CALL TR_SETATTRIBUTE(window1,2,'TRAT_Disabled',0)
  233.                         CALL TR_SETATTRIBUTE(window1,3,'TRAT_Disabled',0)
  234.                      end
  235.                      if what=3 then do
  236.                         void=SetClip("Cod3",such)
  237.                         Cod4=GetClip("Cod4")
  238.                         CALL TR_SETATTRIBUTE(window1,21,'TROB_String',Cod4)
  239.                      end
  240.                   End
  241.  
  242.                   WHEN event.trm_id = 22 THEN do
  243.                      what = event.trm_data+1
  244.                      such = TR_GETATTRIBUTE(window1,24,'TROB_String')
  245.                      if what=1 then do
  246.                         void=SetClip("Spez4",such)
  247.                         CALL TR_SETATTRIBUTE(window1,23,'TRAT_Disabled',1)
  248.                         CALL TR_SETATTRIBUTE(window1,24,'TROB_String','')
  249.                         CALL TR_SETATTRIBUTE(window1,24,'TRAT_Disabled',1)
  250.                      end
  251.                      if what=2 then do
  252.                         Spez3=GetClip("Spez3")
  253.                         CALL TR_SETATTRIBUTE(window1,23,'TRAT_Disabled',0)
  254.                         CALL TR_SETATTRIBUTE(window1,24,'TROB_String',Spez3)
  255.                         CALL TR_SETATTRIBUTE(window1,24,'TRAT_Disabled',0)
  256.                      end
  257.                      if what=3 then do
  258.                         void=SetClip("Spez3",such)
  259.                         Spez4=GetClip("Spez4")
  260.                         CALL TR_SETATTRIBUTE(window1,24,'TROB_String',Spez4)
  261.                      end
  262.                   End
  263.  
  264.                   OTHERWISE NOP
  265.                END
  266.             END
  267.  
  268.             IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN ende = 1
  269.  
  270.             IF event.trm_class = 'TRMS_ACTION' THEN DO
  271.                SELECT
  272.                   WHEN event.trm_id = 13 THEN Do      /*RequesterKnopf*/
  273.                      what = TR_GETATTRIBUTE(window1,12,'TRAT_VALUE')
  274.                      if what=1 then do       /*Schriftart*/
  275.                         STATUS NumFonts
  276.                         Font.0=result
  277.                         Do i=1 to Font.0
  278.                            Status FontName i
  279.                            Font.i=result
  280.                         End
  281.                         If Font.0=1 then FontAusw=Font.1
  282.                         Else Call fontlist
  283.                      End
  284.                      if what=2 then do       /*Schriftschnitt*/
  285.                         Font.0=4
  286.                         Font.1='Normal'
  287.                         Font.2='Unterstrichen'
  288.                         Font.3='Doppelt Unterstrichen'
  289.                         Font.4='Durchgestrichen'
  290.                         Call fontlist
  291.                      End
  292.                      if fontausw~='' then CALL TR_SETATTRIBUTE(window1,14,'TROB_String',FontAusw)
  293.                   END
  294.  
  295.                   WHEN event.trm_id = 23 THEN Do      /*RequesterKnopf*/
  296.                      what = TR_GETATTRIBUTE(window1,22,'TRAT_VALUE')
  297.                      if what=1 then do       /*Schriftart*/
  298.                         nee="FWFonts/SWOLFonts"
  299.                         dir=rtfilerequest(nee,,"Font auswählen...",,"rt_pubscrname = FinalWriterPubScreen")
  300.                      End
  301.                      if what=2 then do       /*Schriftschnitt*/
  302.                         Font.0=4
  303.                         Font.1='Normal'
  304.                         Font.2='Unterstrichen'
  305.                         Font.3='Doppelt Unterstrichen'
  306.                         Font.4='Durchgestrichen'
  307.                         Call fontlist
  308.                         dir=fontausw
  309.                      End
  310.                      if dir~='' then CALL TR_SETATTRIBUTE(window1,24,'TROB_String',dir)
  311.                   END
  312.  
  313.                   WHEN event.trm_id = 1 THEN Do                /*Suchen*/
  314.                      All=false; Suchen=true
  315.                      Call program
  316.                   END
  317.  
  318.                   WHEN event.trm_id = 2 THEN Do                /*Ersetzen*/
  319.                      All=false; Suchen=false
  320.                      Call program
  321.                   END
  322.  
  323.                   WHEN event.trm_id = 3 THEN Do                /*Alle*/
  324.                      All=true; Suchen=false
  325.                      Call program
  326.                   END
  327.  
  328.                   WHEN event.trm_id = 101 THEN Call rtezrequest("Aus dem Makro-Paket:"||R||R||"Suchen & Ersetzen V2.1 für FW"||R||"© 1998 Heiko Schröder","Danke für Ihre Registrierung.","Info","rt_pubscrname=FinalWriterPubScreen")
  329.                   WHEN event.trm_id = 103 THEN address command "run Multiview PUBSCREEN=FinalWriterPubScreen "||d2c(34)||HilfeVerz||"Suchen&Ersetzen.guide"||d2c(34)
  330.                   WHEN event.trm_id = 104 THEN ende=1
  331.  
  332.                   OTHERWISE NOP
  333.                END
  334.             END
  335.          END
  336.       END
  337.       CALL TR_CLOSEPROJECT(window1)
  338.    END
  339.    CALL TR_DELETEAPP(app)
  340. END
  341. ELSE
  342.    CALL quit('Kann das Fenster nicht öffnen',10)
  343.  
  344. Exit
  345.  
  346. program:
  347. code1    = TR_GETATTRIBUTE(window1,10,'TRAT_VALUE')    /*_Text*/
  348. art1     = TR_GETATTRIBUTE(window1,12,'TRAT_VALUE')    /*_Spezifikation*/
  349. code2    = TR_GETATTRIBUTE(window1,20,'TRAT_VALUE')    /*Te_xt*/
  350. art2     = TR_GETATTRIBUTE(window1,22,'TRAT_VALUE')    /*S_pezifikation*/
  351. such     = TR_GETATTRIBUTE(window1,11,'TROB_String')    /*_Textfeld*/
  352. suchfont = TR_GETATTRIBUTE(window1,14,'TROB_String')    /*_Spezifeld*/
  353. erse     = TR_GETATTRIBUTE(window1,21,'TROB_String')    /*Te_xtfeld*/
  354. ersefont = TR_GETATTRIBUTE(window1,24,'TROB_String')    /*S_pezifeld*/
  355.  
  356. Cursor Left; Cursor Right
  357.  
  358. if such="" then do
  359.    x=rtezrequest("Bitte Suchwort eingeben","_Achso","FEHLER","rt_pubscrname=FinalWriterPubScreen")
  360.    return
  361. end
  362.  
  363. /*----------------------------Schriftschnitt-Abfrage----------------------*/
  364. if art1=2 then do
  365.    Select
  366.       When suchfont='Unterstrichen' then suchfont='UnderLine'
  367.       When suchfont='Doppelt Unterstrichen' then suchfont='DUnderLine'
  368.       When suchfont='Durchgestrichen' then suchfont='StrikeThru'
  369.       Otherwise suchfont='Normal'
  370.    end
  371. end
  372. if art2=2 then do
  373.    Select
  374.       When ersefont='Unterstrichen' then ersefont='UnderLine'
  375.       When ersefont='Doppelt Unterstrichen' then ersefont='DUnderLine'
  376.       When ersefont='Durchgestrichen' then ersefont='StrikeThru'
  377.       Otherwise ersefont='Normal'
  378.    end
  379. end
  380.  
  381. /* ---------------------------- Code-Suchen-Abfrage -------------------- */
  382. If code1=1 then do
  383.    If (such<0 | such>255) then do
  384.       x=rtezrequest("Der Such-Code muß zwischen 1...255 liegen","_Achso","FEHLER","rt_pubscrname=FinalWriterPubScreen")
  385.       return
  386.    End
  387.    If Datatype(such,'N')=1 then such=d2c(such)
  388.    Else do
  389.       x=rtezrequest("Bitte den Such-Code eingeben","_Achso","FEHLER","rt_pubscrname=FinalWriterPubScreen")
  390.       return
  391.    End
  392. End
  393.  
  394. /* ---------------------------- Code-Ersetzen-Abfrage -------------------- */
  395. If code2=2 then do
  396.    If (erse<0 | erse>255) then do
  397.       x=rtezrequest("Der Ersetzen-Code muß zwischen 1...255 liegen","_Achso","FEHLER","rt_pubscrname=FinalWriterPubScreen")
  398.       return
  399.    End
  400.    If (erse~='' & Datatype(erse,'N')=1) then erse=d2c(erse)
  401.    Else erse=''
  402. End
  403.  
  404.  
  405. If All=true then REDRAWOFF
  406.  
  407. /* ----------------------------- Suchen nach Schriftart ------------------ */
  408. If art1=1 then do
  409.    If suchfont~='' then do
  410.       Call schrift suchfont; suchfont=FontArt
  411.       if a~=0 then do
  412.          x=rtezrequest("Der Such-Font ist kein FW typischer Font...","_Achso","FEHLER","rt_pubscrname=FinalWriterPubScreen")
  413.          return
  414.       end
  415.    end
  416. End
  417.  
  418. /* ------------------------------ Ersetzen mit Schriftart ---------------- */
  419. If art2=1 then do
  420.    If ersefont~='' then do
  421.       Call schrift ersefont; ersefont=FontArt
  422.       if a~=0 then do
  423.          x=rtezrequest("Der Ersetzen-Font ist kein FW typischer Font...","_Achso","FEHLER","rt_pubscrname=FinalWriterPubScreen")
  424.          return
  425.       end
  426.    end
  427. end
  428.  
  429. address(FW)
  430. Menge=0
  431. SETFIND CASE Same WRAP No
  432. FIND
  433. if art1~=0 then x=rtezrequest("Optionen im FW-Suchen Requester einstellen.","_Getan","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
  434. rpl=false
  435. fnd=false
  436.  
  437. /* --------------------- Suchen nach Schriftart --------------- */
  438. DO until ok~=0
  439.    rpl=false
  440.    FIND such
  441.    ok=RC
  442.    if ok=0 then do
  443.       Select
  444.          When (suchfont='' & ersefont='') then do
  445.             Type erse                              /*Fonts egal*/
  446.             rpl=true
  447.          End
  448.  
  449.          When (suchfont='' & ersefont~='') then do
  450.             if art2=1 then do
  451.                Type erse; ShiftDown
  452.                do p=1 to Length(erse)
  453.                   Cursor LEFT
  454.                End
  455.             End
  456.             If art2=1 then Font ersefont        /*Schriftart ersetzen*/
  457.             If art2=2 then Style ersefont       /*Schnitt ersetzen*/
  458.             rpl=true
  459.          End
  460.  
  461.          When (suchfont~='' & ersefont='') then do 
  462.             if art1=1 then do
  463.                STATUS FontName
  464.                suchfound=result
  465.             end
  466.             if art1=2 then do
  467.                STATUS FontStyle
  468.                suchfound=result
  469.             end
  470.             if upper(suchfont)=upper(suchfound) then do
  471.                If Suchen=false then do
  472.                   Type erse
  473.                   rpl=true
  474.                end
  475.                else do 
  476.                   fnd=true
  477.                end
  478.             End
  479.          End
  480.  
  481.          When (suchfont~='' & ersefont~='') then do 
  482.             if art1=1 then do
  483.                STATUS FontName
  484.                suchfound=result
  485.             end
  486.             if art1=2 then do
  487.                STATUS FontStyle
  488.                suchfound=result
  489.             end
  490.             if upper(suchfont)=upper(suchfound) then do
  491.                If Suchen=false then do
  492.                      Type erse; ShiftDown
  493.                      do p=1 to Length(erse)
  494.                         Cursor LEFT
  495.                      End
  496.                   If art2=1 then Font ersefont        /*Schriftart ersetzen*/
  497.                   If art2=2 then Style ersefont       /*Schnitt ersetzen*/
  498. /*                  Type erse*/
  499.                   rpl=true
  500.                end
  501.                else do 
  502.                   fnd=true
  503.                end
  504.             End
  505.          End
  506.  
  507.          Otherwise NOP
  508.  
  509.       End
  510.       if rpl=true then Menge=Menge+1
  511.    End
  512.    If (erse='' & Suchen=false) then Delete
  513.    If (All=false & rpl=true) then leave      /*einmal ersetzt, dann raus*/
  514.    If (All=false & fnd=true) then leave      /*nur suchen,     dann raus*/
  515. END
  516. /* --------------------- Ende Suchen nach Schriftart --------------- */
  517.  
  518. If All=true then do       /*nur wenn Alles Ersetzen*/
  519.    REDRAWON
  520.    REDRAW
  521.    if menge=1 then text="Es wurde "Menge" Ersetzung vorgenommen."
  522.    else text="Es wurden "Menge" Ersetzungen vorgenommen."
  523.    if menge=0 then text="Der Suchbegriff wurde nicht gefunden."
  524.    x=rtezrequest(text||R||"Bitte FW-Suchen-Requester schließen.","_Okay","FERTIG!","rt_pubscrname=FinalWriterPubScreen")
  525. end
  526. Return
  527.  
  528. schrift:
  529.    Cursor Right
  530.    Cursor Left
  531.    Parse Arg FontArt
  532.    Font FontArt
  533.    a=RC
  534.    If a~=0 then return                  /* Kann FW den Font verarbeiten?*/
  535.    Type d2c(32)
  536.    STATUS FontPath
  537.    FullFontName=result
  538.    pos = max(index(FullFontName,':'),lastpos('/',FullFontName))
  539.    IF (pos~=0) THEN do
  540.       FontArt=RIGHT(FullFontName, LENGTH(FullFontName)-pos)
  541.    END
  542.    BackSpace
  543. return
  544.  
  545. fontlist:
  546. window2 = TR_OPENPROJECT(app,WindowID(2),
  547.                             WindowPosition('TRWP_CENTERDISPLAY'),
  548.                             PubScreenName(FWP),
  549.                             WindowTitle("Bitte wählen Sie:"),
  550.                             'VertGroupAC',
  551.                                FWListSelC('Font',1,0) 'TRAT_Flags TRLV_ShowSelected',
  552.                             'EndGroup',
  553.                          'EndProject')
  554.  
  555. IF window2 ~= '00000000'x THEN DO
  556.    ande = 0
  557.  
  558.    DO WHILE ~ande
  559.       CALL TR_WAIT(app,'')
  560.  
  561.       DO WHILE TR_HANDLEMSG(app,'event')
  562.          IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN DO
  563.             FontAusw=''
  564.             ande = 1
  565.          End
  566.  
  567.          IF event.trm_class = 'TRMS_NEWVALUE' THEN DO
  568.             SELECT
  569.                WHEN event.trm_id=1 THEN do
  570.                   Anz = TR_GETATTRIBUTE(window2,1,'TRAT_VALUE')+1
  571.                   FontAusw=Font.Anz
  572.                   ande=1
  573.                End
  574.  
  575.                OTHERWISE
  576.                   NOP
  577.             END
  578.          END
  579.       END
  580.    END
  581.  
  582.    CALL TR_CLOSEPROJECT(window2)
  583. END
  584. ELSE
  585.    CALL quit('Kann das Fenster nicht öffnen',10)
  586.  
  587. Return
  588. /*******************************************************************************
  589. ** Routine, die bei einer Unterbrechung des Scripts aufgerufen wird
  590. *******************************************************************************/
  591.  
  592. syntax:
  593.    CALL quit('Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)||R||SOURCELINE(sigl)||R||'Bitte informieren Sie den Autor...',20)
  594.  
  595.  
  596. /*******************************************************************************
  597. ** Script beenden
  598. *******************************************************************************/
  599.  
  600. quit:
  601.    PARSE ARG message,rcode
  602.  
  603.    IF app ~= '00000000'x THEN DO
  604.       IF message ~= '' THEN
  605.          x=rtezrequest(message,"_Okay","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
  606.  
  607.       CALL TR_DELETEAPP(app)
  608.    END
  609.    ELSE DO
  610.       IF message ~= '' THEN DO
  611.          SAY message
  612.          SAY
  613.          OPTIONS PROMPT 'Bitte <RETURN> drücken'
  614.          PULL taste
  615.       END
  616.    END
  617.  
  618.    address command "flushtrx all"
  619.    EXIT(rcode)
  620.